1. Field of the Invention
The present invention relates to a read circuit, and read method.
2. Description of the Related Art
Recently, a MRAM (Magnetoresistive Random Access Memory) is widely studied as a memory storage, since it can be rewritable many times and it has a fast access time. In the MRAM, many memory cells are located in a matrix by bit lines and word lines. Each memory cell exists at an intersection of the bit line and the word line, and stores a data with 1 bit.
Each memory cell includes a magnetoresistive element which is called as MTJ (Magnetic Tunneling Junction) and a transistor which is called a MOSFET (Metal-Oxide-Semiconductor Field-Effect Transistor) for selecting a memory cell. One terminal of the MTJ is connected to a drain terminal of MOSFET. The other terminal of the MTJ is connected to the bit line. The gate terminal of the MOSFET is connected to the word line, and the source terminal of the MOSFET is connected to a ground. The resistance value of the MTJ depends on the data stored in the memory cell. For example, R—0, which is the resistance value of the MTJ when the data is “0”, is smaller than R—1 which is the resistance value of the MTJ when the data is “1”.
The data stored in the memory cell is read by turning on the MOSFET through the word line and measuring an electric current through the MTJ. It is determined whether the data is “0” or “1” based on the electric current through the MTJ, since the bit line is connected to a constant-voltage circuit. In the above example, I—0, which is the electric current through the MTJ when the data is “0”, is bigger than I—1 which is the electric current through the MTJ when the data is “1”, because R—0 is smaller than R—1. Therefore, in a conventional read circuit, the data is read by comparing the electric current through the MTJ in each memory cell with a predetermined threshold.
However, the conventional read circuit does not consider variation of the resistance value among the MTJs. Although R—0 is determined to be smaller than R—1 for all MTJs, R—0 of a MTJ could be larger than R—1 of another MTJ because of the variation of the resistance value among MTJs. Therefore, the conventional read circuit could read incorrect data, since the predetermined threshold is common for all MTJs. As a result, a bit error is caused in the data which is read from the memory cell.
On the other hand, the R—0 and R—1 in an individual MTJ have more than twice difference each other. Self-reference read method using the difference of the R—0 and R—1 in each MTJ is attended.
One of the self-reference read methods is disclosed in U.S. Pat. No. 6,842,355. This method includes four phases described below; (1) read a data from a memory cell, (2) write a test data “0” (or “1”) to the memory cell, (3) read the test data from the memory cell, (4) write the data read in (1) to the memory cell. When the data read in (1) is nearly equal to the test data read in (3), the data may be same as the test data. On the other hand, when the data read in (1) is different from the test data read in (3), the data may be different from the test data. Since the threshold which is common for all MTJs is not used in the self-reference read method, the bit error due to the variation of the resistance value among MTJs does not occur.
However, the self-reference read method is not fast to read the data, since it includes four phases. Moreover, size of the MRAM is large, since the read circuit is complex to perform the four phases.